/* Import ET Book styles
   adapted from https://github.com/edwardtufte/et-book/blob/gh-pages/et-book.css */

@charset "UTF-8";

@font-face {
  font-family: "et-book";
  src: url("et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff") format("woff");
  font-weight: normal;
  font-style: normal
}

@font-face {
  font-family: "et-book";
  src: url("et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff") format("woff");
  font-weight: normal;
  font-style: italic
}

@font-face {
  font-family: "et-book";
  src: url("et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff") format("woff");
  font-weight: bold;
  font-style: normal
}

@font-face {
  font-family: "et-book-roman-old-style";
  src: url("et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

/* Tufte CSS styles */
html { font-size: 15px; }

body { width: 58rem;
       margin-left: auto;
       margin-right: auto;
       padding: 0 2rem 8rem 2rem;
       font-family: et-book, Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
       background-color: white;
       color: #404444;
       max-width: 99%;
       box-sizing: border-box;
       counter-reset: sidenote-counter; }

h1 { font-weight: 400;
     margin-top: 4rem;
     margin-bottom: 1.5rem;
     font-size: 3rem;
     line-height: 1; }

h2 { 
     font-weight: 400;
     margin-top: 2.1rem;
     margin-bottom: 0;
     font-size: 2rem;
     line-height: 1; }

h3 { 
     font-weight: 400;
     font-size: 1.4rem;
     margin-top: 2rem;
     margin-bottom: 0;
     line-height: 1; }

p.subtitle { font-style: italic;
             margin-top: 1rem;
             margin-bottom: 1rem;
             font-size: 1.8rem;
             display: block;
             line-height: 1; }

.numeral { font-family: et-book-roman-old-style; }

.danger { color: red; }

article { position: relative;
          padding: 5rem 0rem; }

section { padding-top: 1rem;
          padding-bottom: 1rem; }

p, ol, ul { font-size: 1.3rem; }

p { line-height: 2rem;
    margin-top: 1.4rem;
    margin-bottom: 1.4rem;
    padding-right: 0;
    vertical-align: baseline; }

/* Chapter Epigraphs */
div.epigraph { margin: 5em 0; }

div.epigraph > blockquote { margin-top: 3em;
                            margin-bottom: 3em; }

div.epigraph > blockquote, div.epigraph > blockquote > p { font-style: italic; }

div.epigraph > blockquote > footer { font-style: normal; }

div.epigraph > blockquote > footer > cite { font-style: italic; }

/* end chapter epigraphs styles */

blockquote { border-left: 4px solid #cccccc;
             font-size: 1.4rem;
             font-style: normal;
             margin: 2rem 0;
             padding-left: 2rem;
             padding-right: 2rem; }

blockquote p { padding-bottom: 6px; }

blockquote footer { font-size: 1.1rem;
                    text-align: right; }

ol, ul { padding-left: 2rem;
         -webkit-padding-start: 5%;
         -webkit-padding-end: 5%; }

li { margin: 1rem 0; }

li p { margin-bottom: 0.5rem;
       margin-top: 0.5rem; }

figure { padding: 0;
         border: 0;
         font-size: 100%;
         font: inherit;
         vertical-align: baseline;
         -webkit-margin-start: 0;
         -webkit-margin-end: 0;
         margin: 0 0 3em 0; }

figcaption { float: right;
             clear: right;
             margin-right: -48%;
             margin-top: 0;
             margin-bottom: 0;
             font-size: 1.1rem;
             line-height: 1.6;
             vertical-align: baseline;
             position: relative; }

figure.fullwidth figcaption { margin-right: 24%; }

/* Links: replicate underline that clears descenders */
a:link, a:visited { color: inherit; }

a:link { text-decoration: none;
         background: -webkit-linear-gradient(#fffff8, #fffff8), -webkit-linear-gradient(#fffff8, #fffff8), -webkit-linear-gradient(#333, #333);
         background: linear-gradient(#fffff8, #fffff8), linear-gradient(#fffff8, #fffff8), linear-gradient(#333, #333);
         -webkit-background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
         -moz-background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
         background-size: 0.05em 1px, 0.05em 1px, 1px 1px;
         background-repeat: no-repeat, no-repeat, repeat-x;
         text-shadow: 0.03em 0 #fffff8, -0.03em 0 #fffff8, 0 0.03em #fffff8, 0 -0.03em #fffff8, 0.06em 0 #fffff8, -0.06em 0 #fffff8, 0.09em 0 #fffff8, -0.09em 0 #fffff8, 0.12em 0 #fffff8, -0.12em 0 #fffff8, 0.15em 0 #fffff8, -0.15em 0 #fffff8;
         background-position: 0% 93%, 100% 93%, 0% 93%; }

@media screen and (-webkit-min-device-pixel-ratio: 0) { a:link { background-position-y: 87%, 87%, 87%; } }

a:link::selection { text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe, 0 0.03em #b4d5fe, 0 -0.03em #b4d5fe, 0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe, 0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe, 0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe, 0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe;
                    background: #b4d5fe; }

a:link::-moz-selection { text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe, 0 0.03em #b4d5fe, 0 -0.03em #b4d5fe, 0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe, 0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe, 0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe, 0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe;
                         background: #b4d5fe; }

/* Hide the faux underline */
a img { vertical-align: bottom; }

/* Sidenotes, margin notes, figures, captions */
img { }

.sidenote, .marginnote { float: right;
                         clear: right;
                         margin-right: -60%;
                         margin-top: 0;
                         margin-bottom: 0;
                         font-size: 1.1rem;
                         line-height: 1.3;
                         vertical-align: baseline;
                         position: relative; }

.table-caption { float:right;
                 clear:right;
                 margin-right: -60%;
                 margin-top: 0;
                 margin-bottom: 0;
                 font-size: 1.0rem;
                 line-height: 1.6; }

.sidenote-number { counter-increment: sidenote-counter; }

.sidenote-number:after, .sidenote:before { content: counter(sidenote-counter) " ";
                                           font-family: et-book-roman-old-style;
                                           position: relative;
                                           vertical-align: baseline; }

.sidenote-number:after { content: counter(sidenote-counter);
                         font-size: 1rem;
                         top: -0.5rem;
                         left: 0.1rem; }

.sidenote:before { content: counter(sidenote-counter) " ";
                   top: -0.5rem; }

p, footer, table, div.table-wrapper-small, div.supertable-wrapper > p, div.booktabs-wrapper { }

div.fullwidth, table.fullwidth { }

div.table-wrapper { overflow-x: scroll;
                    font-family: "Trebuchet MS", "Gill Sans", "Gill Sans MT", sans-serif; }

.sans { font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
        letter-spacing: .03em; }

code, .code { font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
              font-size: 1.0rem;
              line-height: 1.6;
            }

pre > code.hljs {
    background: hsl(0deg 0% 97%);
    padding: 30px
     
}

h1 .code, h2 .code, h3 .code { font-size: 0.80em; }

.marginnote .code, .sidenote .code { font-size: 1rem; }

pre.code { padding-left: 2.5%;
           overflow-x: scroll; }

.fullwidth { clear:both; }

span.newthought { font-variant: small-caps;
                  font-size: 1.2em; }

input.margin-toggle { display: none; }

label.sidenote-number { display: inline; }

label.margin-toggle:not(.sidenote-number) { display: none; }


img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

div.vega-embed {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

canvas {
  display: block;
  margin-left: auto;
  margin-right: auto;

}

/* Tables */

table { border-collapse: collapse;
        font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
        font-size: 1.125rem;
        margin: 2rem 0; }

th { border-bottom: 2px solid #cccccc;
     font-weight: normal;
     padding: 0.4em 0.8em; }

td { padding: 0.4em 0.8em; }
<
